<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <link rel="shortcut icon"  th:href="@{../static/favicon.ico}"/>
    <meta charset="UTF-8">
    <title>添加用户</title>
</head>
<body>
<h1>添加用户</h1>
<h2>th:errors="${user.userName}" 可以直接从bindingResult中直接获取错误信息，
    bindingResult对象把本属性的错误信息，放在了pojo类名开头 字母小写.属性名 的 key中
</h2>
<h3>页面中 加了 th:errors="${user.userId}" 之后，正常的通过PageController跳转thymeleaf模版，
    thymeleaf会自动的去解析th:errors,然而没有这个 user key，因为key是bindingResult放进去的，所以会报异常。
    </h3>
<p>解决方式一、在PageController的跳转方法中参数放入一个User对象，springMvc会将这个参数放入Model对象中进行传递，
    放入Model中key的名称是该对象使用驼峰命名规则，
    此时user就不为空了，但是提示信息为null，</p>
<p></p>
<p></p>
<form method="post" action="/user/addUser">
    <table>
        <tr>
            <td>用户id：</td>
            <td><input type="number" name="userId"></td>
            <!--th:if="${#fields.hasErrors('userId')}"-->
            <td><span th:errors="${userAA.userId}"></span></td>
        </tr>
        <tr>
            <td>用户名：</td>
            <td><input type="text" name="userName"></td>
            <td>
                <!--th:if="${#fields.hasErrors('userName')}"-->
                <span th:errors="${userAA.userName}"></span>
            </td>
        </tr>
        <tr>
            <td>爱好：</td>
            <td>
                睡觉：<input type="checkbox" name="hobby" value="睡觉">
                吃饭：<input type="checkbox" name="hobby" value="吃饭">
            </td>
            <!--th:if="${#fields.hasErrors('hobby')}"-->
            <td th:errors="${userAA.hobby}"></td>
        </tr>
        <tr>
            <td>年龄：</td>
            <td><input type="number" name="age"></td>
            <td><span th:errors="${userAA.age}"></span></td>
        </tr>
        <tr>
            <td>邮箱：</td>
            <td><input type="text" name="age"></td>
            <td><span th:errors="${userAA.email}"></span></td>
        </tr>
    </table>
    <input type="submit" value="添加用户">
</form>
</body>
</html>